Amazon Redshift: クラスタの一時停止&再開をAWS CLIで試してみた
小ネタです。
今朝方リリースがなされ、早速「速報」エントリが公開されていました『Amazon Redshiftの一時停止・再開』機能。
AWS CLIのアップグレードを行ってみたところ、早速この機能に関する対応が為されていたようなので、(AWS CLIにおける挙動について)実際に試してみました。
AWS CLIのアップグレード
この機能を試すには、所定の手順でAWS CLIをアップグレードしてください。手元の環境では1.18.19でコマンドの存在を確認出来ました。
% aws --version aws-cli/1.18.19 Python/3.7.6 Darwin/19.3.0 botocore/1.15.19
Amazon Redshiftクラスタの一時停止 (aws redshift pause-cluster)
クラスタの一時停止はaws redshift pause-clusterコマンドを使って行います。必要な引数指定はクラスタID(--cluster-identifier)のみです。実行すると、ステータスがpausingに変わります。
% aws redshift pause-cluster \ --cluster-identifier cm-xxxxxxxxxxxxxxxx \ --profile xxxxxxxx { "Cluster": { "ClusterIdentifier": "cm-xxxxxxxxxxxxxxxx", "NodeType": "dc2.large", "ClusterStatus": "pausing", "ClusterAvailabilityStatus": "Modifying", "MasterUsername": "root", "DBName": "xxxxxxxxxxxxxxxxxxx", "Endpoint": { "Address": "xxxxxxxxxxxxxxx.redshift.amazonaws.com", "Port": xxxx }, : } }
コンソール上のステータスも一時停止中に変わり、
暫くして停止状態(Paused)となりました。
Amazon Redshiftクラスタの再開 (aws redshift resume-cluster)
一時停止したクラスタの再開はaws redshift resume-clusterコマンドを使って行います。こちらも必要な引数指定はクラスタID(--cluster-identifier)のみです。実行すると、ステータスがresumingに変わります。
% aws redshift resume-cluster \ --cluster-identifier cm-xxxxxxxxxxxxxxxx \ --profile xxxxxxxx { "Cluster": { "ClusterIdentifier": "cm-xxxxxxxxxxxxxxxx", "NodeType": "dc2.large", "ClusterStatus": "resuming", "ClusterAvailabilityStatus": "Modifying", "MasterUsername": "root", "DBName": "xxxxxxxxxxxxxxxx", "Endpoint": { "Address": "xxxxxxxxxxxxxxx.redshift.amazonaws.com", "Port": xxxx }, : : } }
クラスタのステータスは「再開中」から、
「復元中」を経て、
利用可能な状態(Available)に戻りました。
ちなみに手元の環境では一時停止に23分、再開に8分掛かっていました。丸毛検証のエントリでは一時停止に10〜15分、再開に5分とあるのでこの辺り環境に拠って若干の差異があるかも知れません。ぜひ一度、前もってどれくらいの時間が掛かるのかをお試し頂ければと思います。
まとめ
という訳でAmazon Redshiftのアップデート「クラスタの一時停止・再開」に関して、AWS CLIで試してみた内容のご紹介でした。
この機能が使えるようになったことでAmazon Redshiftの管理が更に便利になりました。上手く活用してコストを削減していきたいですね。